<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>关系运算符</title>
    <script>
        /*
        关系运算符：用来比较两个值直接的关系是否成立，成立返回true，不成立返回false
        >  用来比较左侧的值是否大于右侧的值
        >= 用来比较左侧的值是否大于或等于右侧的值
        <  用来比较左侧的值是否小于右侧的值
        <= 用来比较左侧的值是否小于或等于右侧的值
        */

        /*
        对非数值进行关系运算，通常JS解析器会先将非数字的值转换为数值，然后进行比较。
        和NaN比怎么比都是false。
        当比较两个字符串的大小，解析器不会将字符串转换为数值再比较，
            比较字符串的时候，解析器会逐位的比较字符串的Unicode编码
        通过这个特点可以比较两个字符串的大小，从而对它们按照字母顺序进行排序，
            但是对中文来说，编码表应该是按照偏旁部首进行排序的，所以意义不大
        如果比较两个字符串类型的数字时，依然比较编码顺序，导致结果有误，可以转型为数值再比较


        */
        var result = 100 > 50;  //true
        result = 50 > 60;       //false
        result = 50 > 50;       //false
        result = 50 >= 50;      //true

        // 100 < 1
        result = '100' < true; // false
        // 1 > 0
        result = 1 > null; // true
        // 1 <= NaN 和NaN左比较时，怎么比都返回false
        result = 1 <= 'hello'; // false

        // 1      2
        result = 'azzzz' > 'bcd'; // false

        // 98  <  101
        result = 'b' < 'e'; // true

        result = 'abcde' < 'abcdf'; // true


        result = '5' < '6'; // true

        // result = '5' < '16'; // false

        var a = '5';
        var b = '16';

        result = Number(a) < Number(b);
        result = +a < +b;


        console.log('result =', result);
    </script>

</head>
<body>

</body>
</html>